<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>DbEnv::set_lg_bsize()</title>
    <link rel="stylesheet" href="apiReference.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB C++ API Reference" />
    <link rel="up" href="lsn.html" title="Chapter 8.  The DbLsn Handle" />
    <link rel="prev" href="logstat_print.html" title="DbEnv::log_stat_print()" />
    <link rel="next" href="envset_lg_dir.html" title="DbEnv::set_lg_dir()" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">DbEnv::set_lg_bsize()</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="logstat_print.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 8. 
                The DbLsn Handle
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="envset_lg_dir.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="envset_lg_bsize"></a>DbEnv::set_lg_bsize()</h2>
          </div>
        </div>
      </div>
      <pre class="programlisting">#include &lt;db_cxx.h&gt;

int
DbEnv::set_lg_bsize(u_int32_t lg_bsize); </pre>
      <p>
        Sets the size of the in-memory log buffer, in bytes.
    </p>
      <p>
         When the logging subsystem is configured for on-disk logging, the
         default size of the in-memory log buffer is approximately 32KB.  Log
         information is stored in-memory until the storage space fills up or
         transaction commit forces the information to be flushed to stable
         storage.  In the presence of long-running transactions or transactions
         producing large amounts of data, larger buffer sizes can increase
         throughput.
    </p>
      <p>
         When the logging subsystem is configured for in-memory logging, the
         default size of the in-memory log buffer is 1MB.  Log information is
         stored in-memory until the storage space fills up or transaction abort
         or commit frees up the memory for new transactions.  In the presence
         of long-running transactions or transactions producing large amounts
         of data, the buffer size must be sufficient to hold all log
         information that can accumulate during the longest running
         transaction.  When choosing log buffer and file sizes for in-memory
         logs, applications should ensure the in-memory log buffer size is
         large enough that no transaction will ever span the entire buffer, and
         avoid a state where the in-memory buffer is full and no space can be
         freed because a transaction that started in the first log "file" is
         still active.
    </p>
      <p>
         The database environment's log buffer size may also be configured
         using the environment's <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file. The syntax of the entry
         in that file is a single line with the string "set_lg_bsize", one
         or more whitespace characters, and the size in bytes. Because the
         <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file is read when the database environment is opened,
         it will silently overrule configuration done before that time.
    </p>
      <p>
         The <code class="methodname">DbEnv::set_lg_bsize()</code> method configures a database environment,
         not only operations performed using the specified <a class="link" href="env.html" title="Chapter 5.  The DbEnv Handle">DbEnv</a>  handle.
    </p>
      <p>
         The <code class="methodname">DbEnv::set_lg_bsize()</code> method may not be called after the 
         <a class="xref" href="envopen.html" title="DbEnv::open()">DbEnv::open()</a>  method is called.
         If the database environment already exists when 
         <a class="xref" href="envopen.html" title="DbEnv::open()">DbEnv::open()</a>  is called, the
         information specified to <code class="methodname">DbEnv::set_lg_bsize()</code> will be ignored.
    </p>
      <p>
         The <code class="methodname">DbEnv::set_lg_bsize()</code> <span>
            
            <span>
                method either returns a non-zero error value or throws an
                exception that encapsulates a non-zero error value on
                failure, and returns 0 on success.
            </span>
        </span>
    </p>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp8463904"></a>Parameters</h3>
            </div>
          </div>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idp8463752"></a>lg_bsize</h4>
              </div>
            </div>
          </div>
          <p>
                          The <span class="bold"><strong>lg_bsize</strong></span> parameter is the size of
                          the in-memory log buffer, in bytes.
                     </p>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp8446344"></a>Errors</h3>
            </div>
          </div>
        </div>
        <p>
                         The <code class="methodname">DbEnv::set_lg_bsize()</code> <span>
            
            <span>
                method may fail and throw a <a class="link" href="dbexception.html" title="Chapter 6. The DbException Class">DbException</a> 
                exception, encapsulating one of the following non-zero errors, or return one
                of the following non-zero errors:
            </span>
        </span>
                    </p>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idp8471168"></a>EINVAL</h4>
              </div>
            </div>
          </div>
          <p>
                An invalid flag value or parameter was specified.
            </p>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp8469872"></a>Class</h3>
            </div>
          </div>
        </div>
        <p>
                    <a class="link" href="env.html" title="Chapter 5.  The DbEnv Handle">DbEnv</a>, 
                    <a class="link" href="logc.html" title="The DbLogc Handle">DbLogc</a>,
                    <a class="link" href="lsn.html" title="Chapter 8.  The DbLsn Handle">DbLsn</a> 
            </p>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp8472496"></a>See Also</h3>
            </div>
          </div>
        </div>
        <p>
                     <a class="xref" href="lsn.html#loglist" title="Logging Subsystem and Related Methods">Logging Subsystem and Related Methods</a> 
                </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="logstat_print.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="lsn.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="envset_lg_dir.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">DbEnv::log_stat_print() </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> DbEnv::set_lg_dir()</td>
        </tr>
      </table>
    </div>
  </body>
</html>
